Repository navigation
deps(wallet): gonuts-tollgate v0.15.0 — intents, NUT-09 restore, response binding - #1151
Amperstrand wants to merge 1 commit into
Conversation
bump-gonuts.sh rewrite, all glob-discovered carriers + manifest together. v0.15.0 delivers: mint+melt pending-op intents (crash recovery by replay), NUT-09 restore fallback for 11001-refused swaps, swap-response binding (amount+keyset by index), unpriceable-proof refusal, spent-input retirement on recovery, integration-build fixture fix. Full-suite evidence on the fork: 12 packages ok; here: 19 modules green on the stacked base; fence green incl. --latest (v0.15.0 = newest stable tag).
Local CI gate — PR #1151: deps(wallet): gonuts-tollgate v0.15.0 — intents, NUT-09 restore, response bindingRun of
Verdict: 4 leg(s) RED — 2 green. What this gate does not run (no vacuous green)
failing-leg log tailscontract-fences — tailpackaging-sequential — tailshell-suites — tailpackaging-concurrent — tail |
|
Two coordination notes from the campaign review pass:
|
|
CLOSING in favor of #1175 — same-house duplicate reconciliation (both v0.15.0 bumps; #1175 opened today). Both branches pass check-gonuts-pin.py (one pin v0.15.0 across the 5 glob-discovered carriers — verified locally on both heads). The delta:
#1175 is the same bump with better hygiene. Closing this one; nothing unique is lost. |
BLOCK — this PR commits a compiled binary to the repo
It is a new file on this branch and is not tracked on Why it matters for this repo specifically:
#1180 ( Fix on this branch: git rm --cached src/cmd/tollgate-ndsctl/tollgate-ndsctl
git commit -m 'chore: do not track the built tollgate-ndsctl binary'Then #1180's ignore rule actually takes effect. I have not pushed to this branch — happy to open a stacked PR against it if you prefer that to editing it yourself. Everything else about the pin bump looked right when I swept it: |
felixfelix-bot
left a comment
There was a problem hiding this comment.
Request changes — one blocker: a compiled binary is committed in this PR.
src/cmd/tollgate-ndsctl/tollgate-ndsctl is a new 3.5 MB x86-64 ELF in the diff, not tracked on main. Merging welds it into history permanently, makes five of the six shipped architectures wrong to look at, and gets overwritten by every local build of that module. git rm --cached it on the branch before this can land; details and the exact command are in my comment above.
The pin bump itself checks out — I swept it and the offline fence is green:
$ python3 tests/contract/check-gonuts-pin.py # on sw1151
✅ one pin, everywhere … across the carriers it discovers by glob
$ cd src && go build ./... → rc=0
$ cd src && go vet ./... → rc=0
Also worth noting for sequencing: this PR and #1142 both move the gonuts pin to the EOF-tolerant version, and my #1182 does the same for the manifest plus all carriers. #1142's version only moves src/tollwallet/go.mod, which breaks cd src && go build ./.... Whichever of the three lands first should be the one that moves the manifest, or the next two re-tread the same lines.
|
Correction to my own evidence — the byte count, not the finding. My review cited the committed binary as 3,674,440 bytes. That number is wrong. Re-measured at the actual HEAD ( 3,620,835 bytes (≈3.45 MiB), not 3,674,440. I also confirmed it is a single introduction — this is the only commit on the branch touching that path, so there is no earlier 3,674,440 version I could have been measuring: The conclusion is unchanged, and re-verified: So it is a committed ELF executable at Why I am correcting rather than letting it standA wrong number inside a correct finding is worse than no number: the next person who runs Correcting my earlier comment from "3.5 MB (3674440 bytes)" to 3,620,835 bytes. The Also worth noting for whoever picks this upThe branch's actual purpose is the |
Summary
The fork release bump (v0.15.0 tagged 2026-10-28 after the autonomous gonuts window; PRs #33 #38 #39 #40 #42 all merged+verified there).
scripts/bump-gonuts.sh v0.15.0— manifest + every glob-discovered carrier in one run; fence green incl.--latest(newest stable tag).What the fork version carries (live-verified on the fork side): mint+melt pending-op intents (the #497 replay invariant extended), NUT-09 /v1/restore fallback for 11001-refused swaps (#866), swap responses bound to the request (#831/#833), unpriceable-proof refusal (#832), spent-input retirement on every recovery path, integration-build fixture fix.
Evidence
make go-battery— 19 modules green on the stacked base. Downstream fixture impact: zero (the fork's tests are fork-local; tollgate's honest-fixture work landed already in #1063/#1132).Stack: #1132 → #1136/#1140/this (any order among the three dependents; all rebase trivially). release-check note: with this merged, the pin = newest stable tag — no release gate conflict.
OWNER-GATED.